package 每日一题;

/**
 * @author 会玩的洋洋
 * https://leetcode-cn.com/problems/count-of-matches-in-tournament/
 */
public class _1688_比赛中的配对次数 {

    /**
     * 通过模拟 进行类推 依次除 2 即可
     * @param n 目标队伍数量
     * @return int
     */
    public int numberOfMatches(int n) {
        int sum = 0, surplus = n;
        while (surplus > 1) {
            int temp = surplus >> 1;
            sum += temp;
            surplus -= temp;
        }
        return sum;
    }

    /**
     * 数学公式  直接  n - 1
     * @param n 目标队伍数量
     * @return int
     */
    public int numberOfMatches2(int n) {
        return n - 1;
    }
}
